#include <stdio.h>

// 1.sizeof 本质不是一个函数, 是运算符
void test01() {
    int a = 100;

    printf("sizeof int = %lu\n", sizeof(int));

    printf("sizeof a = %lu\n", sizeof a);
}

// 2.sizeof 返回值是 unsigned int, 怎么验证?
void test02() {
    unsigned int a = 10;

    if (a - 20 >= 0) {
        printf("结果为正\n"); // 为什么会输出这个?

        // unsigned int 和 int 进行运算, 结果统一转换为 unsigned int

    } else {
        printf("结果为负\n");
    }

    if (sizeof(int) - 8 >= 0) {
        printf("unsigned int\n");

    } else {
        printf("other\n");
    }
}

// 3.sizeof 的其他用法, 计算数组的总长度
void test03() {
    int array[] = {0, 1, 2, 3, 4, 5, 6};

    printf("array 长度为: %llu", sizeof(array) / sizeof(array[0]));
}

int main() {
    test01();

    test02();

    test03();
}